from win32com.client import gencache
from win32com.client import constants, gencache
def createPdf(wordPath, pdfPath):
    """
    word转pdf
    :param wordPath: word文件路径
    :param pdfPath:  生成pdf文件路径
    """
    word = gencache.EnsureDispatch('Word.Application')
    doc = word.Documents.Open(wordPath, ReadOnly=1)
    doc.ExportAsFixedFormat(pdfPath,
                            constants.wdExportFormatPDF,
                            Item=constants.wdExportDocumentWithMarkup,
                            CreateBookmarks=constants.wdExportCreateHeadingBookmarks)
    word.Quit(constants.wdDoNotSaveChanges)
import os

def batchConvert(wordDirPath,pdfDirPath):
    fileList = os.listdir(wordDirPath) # 获取文件夹下的所有文件列表
    # 批量转换
    for filename in fileList:
        # 生成pdf文件名
        lastIndex = filename.rfind('.')  # 获取后缀名的位置
        pdfFile = filename[:lastIndex+1] + "pdf" # 生成pdf文件名
        createPdf(wordDirPath + "\\" + filename, pdfDirPath + "\\" + pdfFile)

# 注意在这里需要使用绝对路径，且上级目录与下级目录之间需要使用两个斜杠（\\）
docDirPath = 'D:\\python_practice_word'
pdfDirPath = 'D:\\python_practice_pdf'

# batchConvert(docDirPath,pdfDirPath)
docDirPath = 'D:\\python_practice_word'
fileList = os.listdir(docDirPath)
print(fileList)